Field of the Invention
Embodiments relate generally to delivering video to users, and more particularly to aggregating multiple user requests for viewing a moment of interest within a video stream.
Background Art
The Digital Video Recorder, or DVR, has been an important innovation in television, allowing users to watch the programs they wish to watch on their own schedules. Traditionally, DVR functionality has been implemented using a specialized piece of equipment deployed at a user's home. Providers of television services, such as cable operators, endeavor to both reduce the cost and enhance the performance of DVR systems.
Conventional DVR provides a user with the ability to pause and rewind live television, for example, the ability to pause television when someone knocks on the front door, or the ability to quickly replay a portion of the program that just aired, such as an interesting play in a football game. This replay can be achieved by “rewinding” a portion of the program stored locally in real time at the DVR and then replaying it. DVR systems typically also include an “instant replay” function, whereby a single key-press rewinds by a fixed amount of time, such as 8 seconds, and then replays.
A DVR can also be implemented at the headend of a networked video system. This type of DVR is referred to herein as a network DVR system. In contrast to conventional DVR systems, which store programs locally, network DVR systems store video at the headend. In a network DVR, video can be delivered to a user as sessions. One difficult challenge faced by video delivery systems relates to so called “Super Bowl® moments,” or moments of interest, in a video. In a popular live program that attracts many users, such as the Super Bowl®, a significant event may occur, such as, for example, a controversial play. The significant event causes many users to nearly-simultaneously attempt to replay the event. In this situation, many users watching a live broadcast stream suddenly request a time-delayed version of the program. In a conventional network DVR system, this sudden request by many users causes there to be generated numerous individual sessions (unicast streams) to deliver a time-delayed version of the program to each user. The unusually large number of requests may exceed the capacity of the system to simultaneously deliver individual sessions. If demand is sufficient to exceed system capacity, at least some users will not be able to replay the event. (This is equivalent to getting an all circuits busy message, when trying to make a telephone call.)
Additionally, in a conventional DVR system, manually rewinding (or fast-forwarding) can be problematic. A delay occurs between seeing the beginning of a scene that is of interest, pressing a button on the remote to begin playback, and then subsequently waiting for the command to be executed by the DVR system. In a conventional network DVR system, this problem can be exacerbated by an additional delay caused by time necessary for the user's command to be communicated to the server at the headend. Existing systems attempt to address this problem by automatically offsetting the playback point by a predicted amount. For example, while rewinding, when the network DVR system receives a command to play, it might assume that the user intended to hit play 500 milliseconds earlier, and the video delivery system will begin replay on that basis. Examples of offsetting the playback point by a predicted amount can be found in U.S. Pat. Nos. 6,850,691 and 7,493,015, for example.
What is needed, therefore, is an arrangement that enables a video delivery system, including a network DVR system, to serve user requests, without requiring excess infrastructure to provide excess session capacity only to support these infrequent significant events that attract many users interested in a moment of interest. Furthermore, what is needed is a system that can enhance the user experience by intelligently responding to user commands.
The present embodiments will now be described with reference to the accompanying drawings. In the drawings, like reference numbers may indicate identical or functionally similar elements.